package com.template.controller;


import com.template.common.PageData;
import com.template.dto.SysUserEditDto;
import com.template.service.ISysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * <p>
 * 系统用户表 前端控制器
 * </p>
 *
 * @author baomidou
 * @since 2021-12-22
 */
@RestController
@RequestMapping("/user")
public class SysUserController {

    @Autowired
    ISysUserService userService;    //注入

    /**
     * 用户列表
     * @param keyword   关键字(昵称模糊搜索)
     * @param page      第几页
     * @param pageSize  一页多少条
     * @return
     */
    @GetMapping("/page")
    public PageData getPage(@RequestParam(value = "keyword",required = false)String keyword,
                            @RequestParam(value = "page" ,required=false) Integer page,
                            @RequestParam(value = "pageSize" ,required=false) Integer pageSize){
        return userService.getPage(keyword,page,pageSize);
    }

    /**
     * 创建用户
     * @param req   用户信息
     * @return
     */
    @PostMapping
    public String createUser(@RequestBody SysUserEditDto req){
        return userService.createUser(req);
    }

    /**
     * 修改用户
     * @param id    用户主键
     * @param req   用户信息
     * @return
     */
    @PutMapping("/{id}")
    public Boolean updateUser(@PathVariable("id")String id,
                              @RequestBody SysUserEditDto req){
        return userService.updateUser(id,req);
    }

    /**
     * 删除用户
     * @param id    主键,多个逗号分隔
     * @return
     */
    @DeleteMapping("/{id}")
    public Integer deleteUser(@PathVariable("id")String id){
        return userService.deleteUser(id);
    }
}
